package com.librelato.negocio;

import java.util.List;

import com.librelato.bean.TipoProblemaBean;
import com.librelato.bean.UsuarioBean;
import com.librelato.negocio.interfaces.ITipoProblemaServico;
import com.librelato.negocio.validadores.IValidador;
import com.librelato.persistencia.TipoProblemaDao;
import com.librelato.persistencia.interfaces.IDaoGenerico;
import com.librelato.persistencia.interfaces.ITipoProblemaDao;

public class TipoProblemaServico<P extends TipoProblemaBean> extends
		ServicoGenerico<P> implements ITipoProblemaServico<P> {

	private ITipoProblemaDao<TipoProblemaBean> dao;

	public TipoProblemaServico() {
		this.dao = new TipoProblemaDao<TipoProblemaBean>();
	}

	public void excluir(final P p) throws Exception {
	};
	
	public void editar(final P p) throws Exception {};

	@SuppressWarnings("unchecked")
	@Override
	public P salvar(final P p) throws Exception {
		return (P) this.dao.salvar(p);
	}

	@SuppressWarnings("unchecked")
	@Override
	public IDaoGenerico<P> getDao() {
		return (IDaoGenerico<P>) this.dao;
	}

	@Override
	public IValidador<String> getStringValidador() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void preSalvar(P p) {
		// TODO Auto-generated method stub

	}

	@Override
	public void posSalvar(P p) {
		// TODO Auto-generated method stub

	}

	@Override
	public List<TipoProblemaBean> buscaTipos(String chave) throws Exception {
		// TODO Auto-generated method stub
		return this.dao.buscaTipos(chave);
	}

	@Override
	public List<String> buscaDestinoChamados(UsuarioBean usuario) throws Exception {
		return this.dao.buscaDestinoChamados(usuario);
	}
	
}
